//Fecha: 23/04/2009
/*Se agrega unidad de persistencia "zara-DS", se codifica el proceso doPersit el cual llama el cliente para probar la persistencia de los envios
 *Se agrega unidad de persistencia "articulos", se codifica el proceso NuevoARt y funciona contra la BD, recibe un VO y lo guarda
 
 */ 
package fac;

import java.util.Hashtable;

import javax.ejb.Stateless;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import vo.ArticuloVO;

import ejb.AdministradorArticulo;
import entity.Pedido;
import fac.Facade;

@Stateless

public class FacadeBean implements Facade
{
	@PersistenceContext(unitName="zaraDS")
	private EntityManager manager;
	private AdministradorArticulo administradorArticulo;
	
//-------Procesos Adicionales para manejar las operaciones comunes que tenemos que hacer del lado del server.
	
	@SuppressWarnings("unchecked")
	public void getAdministradorArticulo()
	{
		try 
		{
			System.out.println("ADENTRO GET ADM ARTICULO");
			String naming = "FacadeEAR/AdministradorArticuloBean/local";
			Hashtable props = new Hashtable();
			InitialContext ic;
			ic = new InitialContext(props);
			administradorArticulo = (AdministradorArticulo)ic.lookup(naming);
			if(administradorArticulo!=null)
			{
				System.out.println("Se obtuvo el ADM de Art");
			}
			
						
		}
		catch (NamingException e) {
        	System.out.println("Error al conectarse al bean de AdministradorArticulo");
			e.printStackTrace();
		}
		
		
	}
	
	
	//prueba de persistencia despues borrar,ojo va a afectar a GENVT del lado del cliente
	public void doPersist()
	{
		System.out.println("VOY a mandar a persistir algo");
		Pedido test1 = new Pedido();
		test1.setId(2223);
		test1.setDescripcion("Remera Escote en V");
		test1.setTienda("Abasto");
		test1.setCantidad(22);
		test1.toString(test1);
		manager.persist(test1);
		
		Pedido test2 = new Pedido();
		
		test2.setId(356);
		test2.setDescripcion("remera Cuello Rendodo");
		test2.setTienda("Palermo");
		test2.setCantidad(4);
		test2.toString(test2);
		manager.persist(test2);						
	}
	
	
	public void SolDist(){
		System.out.println("...........SolDist...........");
	}
	
	//proceso nro 2.
	public void EnvT(){
		System.out.println("...........EnvT...........");
	}
	
	//proceso nro 3.
	public void SolFabr(){
		System.out.println("...........SolFabr...........");
	}
	
	//proceso nro 4.
	public void RepAF(){
		System.out.println("...........RepAF...........");
	}
	
	//proceso nro 5.
		public void NuevoArt(ArticuloVO articuloVO)
	{
		System.out.println("...........NuevoArt...........");
		this.getAdministradorArticulo();
		articuloVO.setStock(0);
		administradorArticulo.guardarArticulo(articuloVO);	
		
	}
	/*
	public void NuevoArt()
	{
		System.out.println("NuevoArt");
		
		ArticuloVO aa = new ArticuloVO();
		aa.ArticuloVOTEST(aa);
		System.out.println(aa.getColor());
		
		getAdministradorArticulo();
			
		aa.setStock(0);
		administradorArticulo.guardarArticulo(aa);	
	}*/
		
}
